适当减少手机使用,有助于视力保护... 新的一年祝您:身体健康,阖家欢乐!~~

Python + Flask 常用的钩子函数

浏览量:836 作者:admin 类别:: 学习笔记 更新时间:2022-01-28 16:43:19

1.名词解释

钩子函数是指在执行函数和目标函数之间挂载的函数,框架开发者给调用方提供一个point-挂载点,至于挂载什么函数由调用方决定。

@before_first_request

在对应用程序实例的第一个请求之前注册要运行的函数,只会运行一次。

 

@before_request

在每个请求之前注册一个要运行的函数,每一次请求都会执行一次。

 

@after_request

在每个请求之后注册一个要运行的函数,每次请求完成后都会执行。需要接收一个 Response 对象作为参数,并返回一个新的 Response 对象,或者返回接收的 Response 对象。

 

@teardown_request

注册在每一个请求的末尾,不管是否有异常,每次请求的最后都会执行。

 

@context_processor

上下文处理器,返回的字典可以在全部的模板中使用。

 

@template_filter('upper')

增加模板过滤器,可以在模板中使用该函数,后面的参数是名称,在模板中用到。

 

@errorhandler(400)

发生一些异常时,比如404,500,或者抛出异常(Exception)之类的,就会自动调用该钩子函数。

1.发生请求错误时,框架会自动调用相应的钩子函数,并向钩子函数中传入error参数。

2.如果钩子函数没有定义error参数,就会报错。

3.可以使用abort(http status code)函数来手动终止请求抛出异常,如果要是发生参数错误,可以abort(404)之类的。

 

@teardown_appcontext

不管是否有异常,注册的函数都会在每次请求之后执行。

flask 为上下文提供了一个 teardown_appcontext 钩子,使用它注册的毁掉函数会在程序上下文被销毁时调用,通常也在请求上下文被销毁时调用。

比如你需要在每个请求处理结束后销毁数据库连接:app.teardown_appcontext 装饰器注册的回调函数需要接收异常对象作为参数,当请求被正常处理时这个参数将是None,这个函数的返回值将被忽略。


摘自:https://www.cnblogs.com/Wu13241454771/p/15439350.html

关于博主
北京南城网络及弱电【张工】为您提供:
校园网、楼宇、村镇、园区,光纤网络覆盖,无线覆盖 华为|H3c|锐捷|爱快|panabit等品牌,路由、交换机、AC、AP 无源光网络(PON)设备,布署、调试、维运,等服务...
应急/临时光纤熔接...[藤仓22S]
博文为学习python所写:内容摘自网络、学习笔记、记事备忘。
QQ:872876353,欢迎交流学习、加Q注明来意。

诗文鉴赏

《满江红》· 岳飞
落星侵晓没,
残月半山低。
怒发冲冠,
凭栏处、潇潇雨歇。
抬望眼、仰天长啸,壮怀激烈。
三十功名尘与土,八千里路云和月。
莫等闲、白了少年头,
空悲切。
源于生活-记录日常
The site based on python 3 with flask...